package com.zbkj.crmeb.store.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zbkj.crmeb.store.FeatureBaseDO;

/**
 * 展会报名表
 */
@Data
@TableName("eb_exhibit_application")
@ApiModel(value="ExhibitApplication 对象", description="展会报名表")
public class ExhibitApplication extends FeatureBaseDO implements Serializable {
    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "报名id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "展会活动id")
    private Integer activityId;

    @ApiModelProperty(value = "姓名")
    private String realName;

    @ApiModelProperty(value = "年龄")
    private Integer age;

    @ApiModelProperty(value = "性别(1:男2:女)")
    private String gender;

    @ApiModelProperty(value = "商务类型")
    private String businessName;

    @ApiModelProperty(value = "通常购买葡萄酒的渠道/购买喜好")
    private String purchaseChannel;

    @ApiModelProperty(value = "通常购买葡萄酒的渠道/购买喜好")
    @TableField(exist = false)
    private List<String> purchaseChannelList;

    @ApiModelProperty(value = "对俱乐部的建议")
    private String advise;

    @ApiModelProperty(value = "商务类型")
    @TableField(exist = false)
    private List<String> businessNameList;

    @ApiModelProperty(value = "商务类型id")
    private String businessId;

    @ApiModelProperty(value = "采购偏好")
    private String preferenceName;

    @ApiModelProperty(value = "采购偏好")
    @TableField(exist = false)
    private List<String> preferenceNameList;

    @ApiModelProperty(value = "采购偏好id")
    private String preferenceId;

    @ApiModelProperty(value = "公司名称")
    private String companyName;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "联系人所在省")
    private String province;

    @ApiModelProperty(value = "联系人所在市")
    private String city;

    @ApiModelProperty(value = "联系人所在区")
    private String district;

    @ApiModelProperty(value = "联系人详细地址")
    private String address;

    @ApiModelProperty(value = "状态")
    private Integer status;

    @ApiModelProperty(value = "创建人")
    private String createUserUid;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "活动场次")
    private String activityTime;

    /**
     * 职位
     */
    private String job;

    /**
     * 商户id
     */
    private Integer merId;

    /**
     *
     */
    private String feature;

    @Override
    protected void resetFeature() {
        feature = JSONObject.toJSONString(getFeatureMap());
    }

    @Override
    protected String getFeatureString() {
        return feature;
    }
}
